﻿using System;
using System.Diagnostics;

namespace TSharpTest
{
    delegate long Del(long i);
    class Programaadsf
    {
        public Programaadsf()
        {
            myDel = (x =>
             {
                 if (x <= 0) return 1;
                 return x * myDel(x - 1);
             });
        }
        public Del myDel;
        public static void Main(string[] args)
        {
            Stopwatch sw = Stopwatch.StartNew();
            for (int i = 0, n = 100; i < n; i++)
            {
                ///do and do
                ///
                i = +10;
                Console.WriteLine("{0}!={1}", i, new Programaadsf().myDel(i));
            }
            Console.WriteLine(sw.ElapsedMilliseconds);
            Console.ReadLine();
        }
    }

}
